<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>pybindgen.utils</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="pybindgen-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

      <th class="navbar" width="100%"></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="pybindgen-module.html">Package&nbsp;pybindgen</a> ::
        Module&nbsp;utils
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="pybindgen.utils-module.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== MODULE DESCRIPTION ==================== -->
<h1 class="epydoc">Module utils</h1><p class="nomargin-top"><span class="codelink"><a href="pybindgen.utils-pysrc.html">source&nbsp;code</a></span></p>
<!-- ==================== CLASSES ==================== -->
<a name="section-Classes"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Classes</span></td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="pybindgen.utils.SkipWrapper-class.html" class="summary-name">SkipWrapper</a><br />
      Exception that is raised to signal a wrapper failed to generate but
        must simply be skipped.
    </td>
  </tr>
</table>
<!-- ==================== FUNCTIONS ==================== -->
<a name="section-Functions"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Functions</span></td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="write_preamble"></a><span class="summary-sig-name">write_preamble</span>(<span class="summary-sig-arg">code_sink</span>,
        <span class="summary-sig-arg">min_python_version</span>=<span class="summary-sig-default">None</span>)</span><br />
      Write a preamble, containing includes, #define's and typedef's 
      necessary to correctly compile the code with the given minimum python
      version.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.utils-pysrc.html#write_preamble">source&nbsp;code</a></span>
            <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for_write_preamble-summary-div');return false;">call&nbsp;graph</a></span>&nbsp;
          </td>
        </tr>
      </table>
      <div style="display:none" id="call_graph_for_write_preamble-summary-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for_write_preamble" name="call_graph_for_write_preamble">
<area shape="rect" href="javascript:void(0);" title="module._MonolithicSinkManager.__init__()" alt="" coords="7,5,412,37"/>
<area shape="rect" href="pybindgen.utils-module.html#write_preamble" title="write_preamble()" alt="" coords="463,5,641,37"/>
<area shape="rect" href="pybindgen.typehandlers.codesink.FileCodeSink-class.html#writeln" title="typehandlers.codesink.FileCodeSink.writeln()" alt="" coords="692,5,1127,37"/>
</map>
  <img src="call_graph_for_write_preamble.gif" alt='' usemap="#call_graph_for_write_preamble" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="mangle_name"></a><span class="summary-sig-name">mangle_name</span>(<span class="summary-sig-arg">name</span>)</span><br />
      make a name Like&lt;This,and,That&gt; look 
      Like__lt__This_and_That__gt__</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.utils-pysrc.html#mangle_name">source&nbsp;code</a></span>
            <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for_mangle_name-summary-div');return false;">call&nbsp;graph</a></span>&nbsp;
          </td>
        </tr>
      </table>
      <div style="display:none" id="call_graph_for_mangle_name-summary-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for_mangle_name" name="call_graph_for_mangle_name">
<area shape="rect" href="pybindgen.container.Container-class.html#__init__" title="container.Container.__init__()" alt="" coords="175,5,465,37"/>
<area shape="rect" href="pybindgen.utils-module.html#mangle_name" title="mangle_name()" alt="" coords="684,117,847,149"/>
<area shape="rect" href="pybindgen.container.Container-class.html#_update_names" title="container.Container._update_names()" alt="" coords="137,61,503,93"/>
<area shape="rect" href="pybindgen.module.Module-class.html#get_c_to_python_type_converter_function_name" title="module.Module.get_c_to_python_type_converter_function_name()" alt="" coords="5,117,635,149"/>
<area shape="rect" href="pybindgen.module.Module-class.html#get_python_to_c_type_converter_function_name" title="module.Module.get_python_to_c_type_converter_function_name()" alt="" coords="5,173,635,205"/>
<area shape="rect" href="pybindgen.utils-module.html#get_mangled_name" title="get_mangled_name()" alt="" coords="213,229,427,261"/>
</map>
  <img src="call_graph_for_mangle_name.gif" alt='' usemap="#call_graph_for_mangle_name" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="get_mangled_name"></a><span class="summary-sig-name">get_mangled_name</span>(<span class="summary-sig-arg">base_name</span>,
        <span class="summary-sig-arg">template_args</span>)</span><br />
      for internal pybindgen use</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.utils-pysrc.html#get_mangled_name">source&nbsp;code</a></span>
            <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for_get_mangled_nam-summary-div');return false;">call&nbsp;graph</a></span>&nbsp;
          </td>
        </tr>
      </table>
      <div style="display:none" id="call_graph_for_get_mangled_nam-summary-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for_get_mangled_nam" name="call_graph_for_get_mangled_nam">
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#set_custom_name" title="cppmethod.CppMethod.set_custom_name()" alt="" coords="7,5,423,37"/>
<area shape="rect" href="pybindgen.utils-module.html#get_mangled_name" title="get_mangled_name()" alt="" coords="473,61,687,93"/>
<area shape="rect" href="pybindgen.function.Function-class.html#__init__" title="function.Function.__init__()" alt="" coords="79,61,351,93"/>
<area shape="rect" href="pybindgen.module.ModuleBase-class.html#_add_function_obj" title="module.ModuleBase._add_function_obj()" alt="" coords="20,117,409,149"/>
<area shape="rect" href="pybindgen.utils-module.html#mangle_name" title="mangle_name()" alt="" coords="737,61,900,93"/>
</map>
  <img src="call_graph_for_get_mangled_nam.gif" alt='' usemap="#call_graph_for_get_mangled_nam" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="call_with_error_handling"></a><span class="summary-sig-name">call_with_error_handling</span>(<span class="summary-sig-arg">callback</span>,
        <span class="summary-sig-arg">args</span>,
        <span class="summary-sig-arg">kwargs</span>,
        <span class="summary-sig-arg">wrapper</span>,
        <span class="summary-sig-arg">exceptions_to_handle</span>=<span class="summary-sig-default"><code class="variable-group">(</code>&lt;class 'pybindgen.typehandlers.base.TypeConfigurationError'&gt;<code class="variable-op">,</code><code class="variable-ellipsis">...</code></span>)</span><br />
      for internal pybindgen use</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.utils-pysrc.html#call_with_error_handling">source&nbsp;code</a></span>
            <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for_call_with_error-summary-div');return false;">call&nbsp;graph</a></span>&nbsp;
          </td>
        </tr>
      </table>
      <div style="display:none" id="call_graph_for_call_with_error-summary-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for_call_with_error" name="call_graph_for_call_with_error">
<area shape="rect" href="pybindgen.cppattribute.CppInstanceAttributeGetter-class.html#generate" title="cppattribute.CppInstanceAttributeGetter.generate()" alt="" coords="1043,84,1541,116"/>
<area shape="rect" href="pybindgen.cppattribute.CppInstanceAttributeSetter-class.html#generate" title="cppattribute.CppInstanceAttributeSetter.generate()" alt="" coords="1044,140,1540,172"/>
<area shape="rect" href="pybindgen.cppattribute.CppStaticAttributeGetter-class.html#generate" title="cppattribute.CppStaticAttributeGetter.generate()" alt="" coords="1055,196,1529,228"/>
<area shape="rect" href="pybindgen.cppattribute.CppStaticAttributeSetter-class.html#generate" title="cppattribute.CppStaticAttributeSetter.generate()" alt="" coords="1056,252,1528,284"/>
<area shape="rect" href="pybindgen.cppattribute.PyGetSetDef-class.html#generate" title="cppattribute.PyGetSetDef.generate()" alt="" coords="125,280,488,312"/>
<area shape="rect" href="pybindgen.utils-module.html#call_with_error_handling" title="call_with_error_handling()" alt="" coords="657,476,919,508"/>
<area shape="rect" href="pybindgen.cppclass.CppClass-class.html#_add_method_obj" title="cppclass.CppClass._add_method_obj()" alt="" coords="125,336,488,368"/>
<area shape="rect" href="pybindgen.cppclass.CppClass-class.html#_generate_copy_method" title="cppclass.CppClass._generate_copy_method()" alt="" coords="1079,308,1505,340"/>
<area shape="rect" href="pybindgen.cppclass.CppClass-class.html#_generate_methods" title="cppclass.CppClass._generate_methods()" alt="" coords="115,392,499,424"/>
<area shape="rect" href="pybindgen.cppclass.CppHelperClass-class.html#_generate_forward_declarations" title="cppclass.CppHelperClass._generate_forward_declarations()" alt="" coords="27,448,587,480"/>
<area shape="rect" href="pybindgen.cppclass.CppHelperClass-class.html#generate" title="cppclass.CppHelperClass.generate()" alt="" coords="133,504,480,536"/>
<area shape="rect" href="pybindgen.cppmethod.CppConstructor-class.html#generate" title="cppmethod.CppConstructor.generate()" alt="" coords="1105,364,1479,396"/>
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#generate" title="cppmethod.CppMethod.generate()" alt="" coords="1124,420,1460,452"/>
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#get_py_method_def_flags" title="cppmethod.CppMethod.get_py_method_def_flags()" alt="" coords="1049,476,1535,508"/>
<area shape="rect" href="pybindgen.cppmethod.CppVirtualMethodProxy-class.html#generate" title="cppmethod.CppVirtualMethodProxy.generate()" alt="" coords="1069,532,1515,564"/>
<area shape="rect" href="pybindgen.cppmethod.CustomCppMethodWrapper-class.html#generate" title="cppmethod.CustomCppMethodWrapper.generate()" alt="" coords="1051,588,1533,620"/>
<area shape="rect" href="pybindgen.function.CustomFunctionWrapper-class.html#generate" title="function.CustomFunctionWrapper.generate()" alt="" coords="1076,644,1508,676"/>
<area shape="rect" href="pybindgen.function.Function-class.html#generate" title="function.Function.generate()" alt="" coords="1151,700,1433,732"/>
<area shape="rect" href="pybindgen.gccxmlparser.ErrorHandler-class.html#handle_error" title="gccxmlparser.ErrorHandler.handle_error()" alt="" coords="1092,756,1492,788"/>
<area shape="rect" href="pybindgen.module.ModuleBase-class.html#do_generate" title="module.ModuleBase.do_generate()" alt="" coords="137,560,476,592"/>
<area shape="rect" href="pybindgen.overloading.OverloadedWrapper-class.html#_normalize_py_method_flags" title="overloading.OverloadedWrapper._normalize_py_method_flags()" alt="" coords="5,616,608,648"/>
<area shape="rect" href="pybindgen.overloading.OverloadedWrapper-class.html#add" title="overloading.OverloadedWrapper.add()" alt="" coords="1108,812,1476,844"/>
<area shape="rect" href="pybindgen.overloading.OverloadedWrapper-class.html#generate" title="overloading.OverloadedWrapper.generate()" alt="" coords="1083,28,1501,60"/>
<area shape="rect" href="pybindgen.overloading.OverloadedWrapper-class.html#generate_declaration" title="overloading.OverloadedWrapper.generate_declaration()" alt="" coords="1027,868,1557,900"/>
<area shape="rect" href="pybindgen.typehandlers.base.ForwardWrapperBase-class.html#get_py_method_def_flags" title="typehandlers.base.ForwardWrapperBase.get_py_method_def_flags()" alt="" coords="968,924,1616,956"/>
<area shape="rect" href="pybindgen.typehandlers.base.ReturnValue-class.html#new" title="typehandlers.base.ReturnValue.new()" alt="" coords="1108,980,1476,1012"/>
<area shape="rect" href="pybindgen.utils-module.html#eval_retval" title="eval_retval()" alt="" coords="239,672,375,704"/>
</map>
  <img src="call_graph_for_call_with_error.gif" alt='' usemap="#call_graph_for_call_with_error" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">str_or_None</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pybindgen.utils-module.html#ascii" class="summary-sig-name">ascii</a>(<span class="summary-sig-arg">str_or_unicode_or_None</span>)</span><br />
      Make sure the value is either str or unicode object, and if it is 
      unicode convert it to ascii.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.utils-pysrc.html#ascii">source&nbsp;code</a></span>
            <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for_ascii-summary-div');return false;">call&nbsp;graph</a></span>&nbsp;
          </td>
        </tr>
      </table>
      <div style="display:none" id="call_graph_for_ascii-summary-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for_ascii" name="call_graph_for_ascii">
<area shape="rect" href="pybindgen.cppclass.CppClass-class.html#add_binary_comparison_operator" title="cppclass.CppClass.add_binary_comparison_operator()" alt="" coords="9,5,516,37"/>
<area shape="rect" href="pybindgen.utils-module.html#ascii" title="ascii()" alt="" coords="568,369,643,401"/>
<area shape="rect" href="pybindgen.cppclass.CppClass-class.html#add_binary_numeric_operator" title="cppclass.CppClass.add_binary_numeric_operator()" alt="" coords="24,61,501,93"/>
<area shape="rect" href="pybindgen.cppclass.CppClass-class.html#add_inplace_numeric_operator" title="cppclass.CppClass.add_inplace_numeric_operator()" alt="" coords="21,117,504,149"/>
<area shape="rect" href="pybindgen.function.Function-class.html#__init__" title="function.Function.__init__()" alt="" coords="127,173,399,205"/>
<area shape="rect" href="pybindgen.gccxmlparser.GccXmlTypeRegistry-class.html#lookup_parameter" title="gccxmlparser.GccXmlTypeRegistry.lookup_parameter()" alt="" coords="5,229,520,261"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#_scan_namespace_types" title="gccxmlparser.ModuleParser._scan_namespace_types()" alt="" coords="8,285,517,317"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#parse_init" title="gccxmlparser.ModuleParser.parse_init()" alt="" coords="75,341,451,373"/>
<area shape="rect" href="pybindgen.gccxmlparser-module.html#_pygen_kwargs" title="gccxmlparser._pygen_kwargs()" alt="" coords="112,397,413,429"/>
<area shape="rect" href="pybindgen.gccxmlparser-module.html#normalize_class_name" title="gccxmlparser.normalize_class_name()" alt="" coords="81,453,444,485"/>
<area shape="rect" href="pybindgen.module.ModuleBase-class.html#_add_function_obj" title="module.ModuleBase._add_function_obj()" alt="" coords="68,509,457,541"/>
<area shape="rect" href="pybindgen.module.ModuleBase-class.html#add_cpp_namespace" title="module.ModuleBase.add_cpp_namespace()" alt="" coords="57,565,468,597"/>
<area shape="rect" href="pybindgen.module.ModuleBase-class.html#add_include" title="module.ModuleBase.add_include()" alt="" coords="97,621,428,653"/>
<area shape="rect" href="pybindgen.module.ModuleBase-class.html#add_typedef" title="module.ModuleBase.add_typedef()" alt="" coords="95,677,431,709"/>
<area shape="rect" href="pybindgen.module.ModuleBase-class.html#declare_one_time_definition" title="module.ModuleBase.declare_one_time_definition()" alt="" coords="23,733,503,765"/>
</map>
  <img src="call_graph_for_ascii.gif" alt='' usemap="#call_graph_for_ascii" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pybindgen.utils-module.html#param" class="summary-sig-name">param</a>(<span class="summary-sig-arg">*args</span>,
        <span class="summary-sig-arg">**kwargs</span>)</span><br />
      Simplified syntax for representing a parameter with delayed lookup.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.utils-pysrc.html#param">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pybindgen.utils-module.html#retval" class="summary-sig-name">retval</a>(<span class="summary-sig-arg">*args</span>,
        <span class="summary-sig-arg">**kwargs</span>)</span><br />
      Simplified syntax for representing a return value with delayed 
      lookup.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.utils-pysrc.html#retval">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="parse_param_spec"></a><span class="summary-sig-name">parse_param_spec</span>(<span class="summary-sig-arg">param_spec</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.utils-pysrc.html#parse_param_spec">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="parse_retval_spec"></a><span class="summary-sig-name">parse_retval_spec</span>(<span class="summary-sig-arg">retval_spec</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.utils-pysrc.html#parse_retval_spec">source&nbsp;code</a></span>
            <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for_parse_retval_sp-summary-div');return false;">call&nbsp;graph</a></span>&nbsp;
          </td>
        </tr>
      </table>
      <div style="display:none" id="call_graph_for_parse_retval_sp-summary-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for_parse_retval_sp" name="call_graph_for_parse_retval_sp">
<area shape="rect" href="pybindgen.utils-module.html#eval_retval" title="eval_retval()" alt="" coords="7,5,143,37"/>
<area shape="rect" href="pybindgen.utils-module.html#parse_retval_spec" title="parse_retval_spec()" alt="" coords="192,5,392,37"/>
</map>
  <img src="call_graph_for_parse_retval_sp.gif" alt='' usemap="#call_graph_for_parse_retval_sp" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="eval_param"></a><span class="summary-sig-name">eval_param</span>(<span class="summary-sig-arg">param_value</span>,
        <span class="summary-sig-arg">wrapper</span>=<span class="summary-sig-default">None</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.utils-pysrc.html#eval_param">source&nbsp;code</a></span>
            <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for_eval_param-summary-div');return false;">call&nbsp;graph</a></span>&nbsp;
          </td>
        </tr>
      </table>
      <div style="display:none" id="call_graph_for_eval_param-summary-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for_eval_param" name="call_graph_for_eval_param">
<area shape="rect" href="pybindgen.cppmethod.CppConstructor-class.html#__init__" title="cppmethod.CppConstructor.__init__()" alt="" coords="56,5,416,37"/>
<area shape="rect" href="pybindgen.utils-module.html#eval_param" title="eval_param()" alt="" coords="515,89,656,121"/>
<area shape="rect" href="pybindgen.cppmethod.CppFunctionAsConstructor-class.html#__init__" title="cppmethod.CppFunctionAsConstructor.__init__()" alt="" coords="5,61,467,93"/>
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#__init__" title="cppmethod.CppMethod.__init__()" alt="" coords="75,117,397,149"/>
<area shape="rect" href="pybindgen.function.Function-class.html#__init__" title="function.Function.__init__()" alt="" coords="100,173,372,205"/>
</map>
  <img src="call_graph_for_eval_param.gif" alt='' usemap="#call_graph_for_eval_param" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="eval_retval"></a><span class="summary-sig-name">eval_retval</span>(<span class="summary-sig-arg">retval_value</span>,
        <span class="summary-sig-arg">wrapper</span>=<span class="summary-sig-default">None</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.utils-pysrc.html#eval_retval">source&nbsp;code</a></span>
            <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for_eval_retval-summary-div');return false;">call&nbsp;graph</a></span>&nbsp;
          </td>
        </tr>
      </table>
      <div style="display:none" id="call_graph_for_eval_retval-summary-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for_eval_retval" name="call_graph_for_eval_retval">
<area shape="rect" href="pybindgen.container.Container-class.html#__init__" title="container.Container.__init__()" alt="" coords="68,5,359,37"/>
<area shape="rect" href="pybindgen.utils-module.html#eval_retval" title="eval_retval()" alt="" coords="471,117,607,149"/>
<area shape="rect" href="pybindgen.cppclass.CppClass-class.html#add_instance_attribute" title="cppclass.CppClass.add_instance_attribute()" alt="" coords="5,61,421,93"/>
<area shape="rect" href="pybindgen.cppclass.CppClass-class.html#add_static_attribute" title="cppclass.CppClass.add_static_attribute()" alt="" coords="20,117,407,149"/>
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#__init__" title="cppmethod.CppMethod.__init__()" alt="" coords="52,173,375,205"/>
<area shape="rect" href="pybindgen.function.Function-class.html#__init__" title="function.Function.__init__()" alt="" coords="77,229,349,261"/>
<area shape="rect" href="pybindgen.utils-module.html#call_with_error_handling" title="call_with_error_handling()" alt="" coords="657,89,919,121"/>
<area shape="rect" href="pybindgen.utils-module.html#parse_retval_spec" title="parse_retval_spec()" alt="" coords="688,145,888,177"/>
</map>
  <img src="call_graph_for_eval_retval.gif" alt='' usemap="#call_graph_for_eval_retval" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

    </td>
  </tr>
</table>
<!-- ==================== VARIABLES ==================== -->
<a name="section-Variables"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Variables</span></td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'pybindgen'"><code class="variable-quote">'</code><code class="variable-string">pybindgen</code><code class="variable-quote">'</code></code>
    </td>
  </tr>
</table>
<!-- ==================== FUNCTION DETAILS ==================== -->
<a name="section-FunctionDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Function Details</span></td>
</tr>
</table>
<a name="ascii"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">ascii</span>(<span class="sig-arg">str_or_unicode_or_None</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pybindgen.utils-pysrc.html#ascii">source&nbsp;code</a></span>&nbsp;
    <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for_ascii-div');return false;">call&nbsp;graph</a></span>&nbsp;</td>
  </tr></table>
  <div style="display:none" id="call_graph_for_ascii-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for_ascii" name="call_graph_for_ascii">
<area shape="rect" href="pybindgen.cppclass.CppClass-class.html#add_binary_comparison_operator" title="cppclass.CppClass.add_binary_comparison_operator()" alt="" coords="9,5,516,37"/>
<area shape="rect" href="pybindgen.utils-module.html#ascii" title="ascii()" alt="" coords="568,369,643,401"/>
<area shape="rect" href="pybindgen.cppclass.CppClass-class.html#add_binary_numeric_operator" title="cppclass.CppClass.add_binary_numeric_operator()" alt="" coords="24,61,501,93"/>
<area shape="rect" href="pybindgen.cppclass.CppClass-class.html#add_inplace_numeric_operator" title="cppclass.CppClass.add_inplace_numeric_operator()" alt="" coords="21,117,504,149"/>
<area shape="rect" href="pybindgen.function.Function-class.html#__init__" title="function.Function.__init__()" alt="" coords="127,173,399,205"/>
<area shape="rect" href="pybindgen.gccxmlparser.GccXmlTypeRegistry-class.html#lookup_parameter" title="gccxmlparser.GccXmlTypeRegistry.lookup_parameter()" alt="" coords="5,229,520,261"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#_scan_namespace_types" title="gccxmlparser.ModuleParser._scan_namespace_types()" alt="" coords="8,285,517,317"/>
<area shape="rect" href="pybindgen.gccxmlparser.ModuleParser-class.html#parse_init" title="gccxmlparser.ModuleParser.parse_init()" alt="" coords="75,341,451,373"/>
<area shape="rect" href="pybindgen.gccxmlparser-module.html#_pygen_kwargs" title="gccxmlparser._pygen_kwargs()" alt="" coords="112,397,413,429"/>
<area shape="rect" href="pybindgen.gccxmlparser-module.html#normalize_class_name" title="gccxmlparser.normalize_class_name()" alt="" coords="81,453,444,485"/>
<area shape="rect" href="pybindgen.module.ModuleBase-class.html#_add_function_obj" title="module.ModuleBase._add_function_obj()" alt="" coords="68,509,457,541"/>
<area shape="rect" href="pybindgen.module.ModuleBase-class.html#add_cpp_namespace" title="module.ModuleBase.add_cpp_namespace()" alt="" coords="57,565,468,597"/>
<area shape="rect" href="pybindgen.module.ModuleBase-class.html#add_include" title="module.ModuleBase.add_include()" alt="" coords="97,621,428,653"/>
<area shape="rect" href="pybindgen.module.ModuleBase-class.html#add_typedef" title="module.ModuleBase.add_typedef()" alt="" coords="95,677,431,709"/>
<area shape="rect" href="pybindgen.module.ModuleBase-class.html#declare_one_time_definition" title="module.ModuleBase.declare_one_time_definition()" alt="" coords="23,733,503,765"/>
</map>
  <img src="call_graph_for_ascii.gif" alt='' usemap="#call_graph_for_ascii" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

  <p>Make sure the value is either str or unicode object, and if it is 
  unicode convert it to ascii.  Also, None is an accepted value, and 
  returns itself.</p>
  <dl class="fields">
    <dt>Returns: str_or_None</dt>
  </dl>
</td></tr></table>
</div>
<a name="param"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">param</span>(<span class="sig-arg">*args</span>,
        <span class="sig-arg">**kwargs</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pybindgen.utils-pysrc.html#param">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Simplified syntax for representing a parameter with delayed 
  lookup.</p>
  <p>Parameters are the same as <a 
  href="pybindgen.typehandlers.base.Parameter-class.html#new" 
  class="link">Parameter.new</a>.</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="retval"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">retval</span>(<span class="sig-arg">*args</span>,
        <span class="sig-arg">**kwargs</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pybindgen.utils-pysrc.html#retval">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Simplified syntax for representing a return value with delayed 
  lookup.</p>
  <p>Parameters are the same as <a 
  href="pybindgen.typehandlers.base.ReturnValue-class.html#new" 
  class="link">ReturnValue.new</a>.</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="pybindgen-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

      <th class="navbar" width="100%"></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0.1 on Sun Jul 12 17:23:08 2009
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
